package JAVACORE_TRAINING.OOPs.OOPs_EXCERCISES.LEVER01.EX01;

public class Views {
	public static void main(String[] args) {
		//1. Khai báo và khởi tạo đối tượng
		NumberObject objObject = new NumberObject();
		
		//2. Thiết lập đầy đủ thông tin cho đối tượng <đóng gói dữ liệu vào đối tượng>
		objObject.setNumA(8.5);
		objObject.setNumB(9.5);
		/*
		 * Quy ước với nhau như sau:
		 *  + shOpt = 0: Cộng
		 *   + shOpt = 1: Trừ
		 *   + shOpt = 2: Nhân
		 *   + shOpt = 3: Chia
		 * */
		objObject.setShOpt((short)0);
		
		//3. Khai báo & khởi tạo đối tượng Controllers
		Controllers objController = new Controllers();
		
		//4. Ủy quyền thực thi nghiệp vụ
		if(objObject.getShOpt() == 3){
			if (objObject.getNumA() == 0 && objObject.getNumB() == 0)
				System.out.println("Result of function is underfined");
			else if (objObject.getNumA() != 0 && objObject.getNumB() == 0)
				System.out.println("Cannot divide by zero");
			else
				System.out.println("Thương 2 số a và b là: " + 
						objController.ExecOf_Calculator(objObject));
		}else{
			//5. Hiển thị kết quả
			System.out.println("Kết quả là: "+ objController.ExecOf_Calculator(objObject));			
		}
	}
}
